home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / AMIGA / (A)TA / (A)TAO.ADF / Utilities / Error.c < prev    next >
C/C++ Source or Header  |  1988-10-10  |  2KB  |  88 lines

  1. /******************************************************************
  2. *
  3. * Copyright (C) 1988 Roy Kniskern
  4. *
  5. * You are free to use and distribute this code non-commercially (only).
  6. *
  7. * You may not charge more than reasonable cost of duplication and 
  8. * distribution for this code or its object without my written permission.
  9. *
  10. * Roy Kniskern
  11. * 225 Briarwood Dr.
  12. * Christiansburg, Va. 24073
  13. *
  14. * GEnie rkniskern
  15. *
  16. *******************************************************************/
  17.  
  18.  
  19. #include <stdio.h>
  20. #include <stdlib.h>
  21. #include "myerrors.h"
  22. #include <ctype.h>
  23.  
  24. #define ESC 27
  25.  
  26. #ifndef FALSE
  27. #define FALSE 0
  28. #define TRUE !FALSE
  29. #endif
  30.  
  31.    
  32. void main(argc,argv)
  33. int argc;
  34. char **argv;
  35. {
  36.    int i,string2mark,addrflg=FALSE;
  37.    
  38.    if((argc==1)||(argv[1][0]=='?'))
  39.        {
  40.        printf("DOS and GURU Meditation Error decoder\n");
  41.        printf("Written by Roy Kniskern 4/16/88\n");
  42.        printf("  Syntax - ERROR number\n");
  43.        printf(" Example - ERROR 103  or ERROR 82010002.2fee8604\n");
  44.        exit(0);
  45.        }
  46.    /* Is there a '.' in the error code (GURU ERROR?) */
  47.    
  48.    for (string2mark=0;string2mark<strlen(argv[1]);string2mark++)
  49.        if(argv[1][string2mark]=='.')
  50.            {
  51.            argv[1][string2mark]='\0';
  52.            string2mark++;
  53.            addrflg=TRUE;
  54.            break;
  55.            }
  56.            
  57.    printf("%c[33mERROR %s = ",ESC,argv[1]); 
  58.  
  59.    i=0;
  60.    while(1)
  61.        {
  62.        if(!strcmp(errors[i].error_no,argv[1]))
  63.            {
  64.            printf("%s",errors[i].error_msg);
  65.            break;
  66.            }
  67.        if(!strcmp(errors[i].error_no,"thats-all/folks"))
  68.            {
  69.            printf("--Sorry, that error not in table");
  70.            break;
  71.            }
  72.        i++;
  73.        }
  74.    
  75.    if(addrflg)
  76.        {
  77.        printf("\n  Address = %s",&argv[1][string2mark]);
  78.        for(i=string2mark; argv[1][i]!='\0'; i++)
  79.            if(!isxdigit(argv[1][i]))
  80.                {
  81.                printf(" (contains illegal character(s))");
  82.                break;
  83.                }
  84.        }       
  85.    printf("%c[31m\n",ESC);    
  86.        
  87. }
  88.